package com.ctvit.cch.ai.service;

import com.ctvit.cch.ai.pojo.dto.AutoCategoryDTO;
import com.ctvit.cch.ai.pojo.dto.CreativeEvaluationDTO;
import com.ctvit.cch.ai.pojo.dto.GenerateCreationDTO;
import com.ctvit.cch.ai.pojo.dto.GenerateScriptDTO;
import com.ctvit.cch.ai.pojo.dto.GenerateShotDTO;
import com.ctvit.cch.ai.pojo.vo.AutoCategoryVO;
import com.ctvit.cch.ai.pojo.vo.CreativeEvaluationVO;
import com.ctvit.cch.ai.pojo.vo.GenerateCreationVO;
import com.ctvit.cch.ai.pojo.vo.GenerateScriptVO;
import com.ctvit.cch.ai.pojo.vo.GenerateShotVO;

import java.util.List;

/**
 * 大模型处理服务接口
 *
 * @author heyingcheng
 * @date 2025/07/30
 */
public interface ILlmService {

    /**
     * 自动分类
     *
     * @param dto 参数
     * @return {@link AutoCategoryVO } 结果
     */
    AutoCategoryVO categorize(AutoCategoryDTO dto);

    /**
     * 创意评估
     *
     * @param dto 参数
     * @return {@link CreativeEvaluationVO } 结果
     */
    CreativeEvaluationVO evaluate(CreativeEvaluationDTO dto);

    /**
     * 灵感创作生成
     *
     * @param dto 灵感创作生成参数
     * @return {@link List }<{@link GenerateCreationVO }> 结果
     */
    List<GenerateCreationVO> generateCreation(GenerateCreationDTO dto);

    /**
     * 脚本生成
     *
     * @param dto 脚本生成参数
     * @return {@link List }<{@link GenerateScriptVO }> 脚本生成结果
     */
    List<GenerateScriptVO> generateScript(GenerateScriptDTO dto);

    /**
     * 分镜生成
     *
     * @param dto 分镜生成参数
     * @return {@link List }<{@link GenerateShotVO }> 分镜生成结果
     */
    List<GenerateShotVO> generateShot(GenerateShotDTO dto);

}
